 @.str = private unnamed_addr constant [4 x i8] c"%d\0A\00"
 @.str.scanf = private unnamed_addr constant [3 x i8] c"%d\00"
declare i32 @scanf(i8*, ...)
declare i32 @printf(i8*, ...)
 @a = constant [10 x i32] [i32 1, i32 2, i32 3, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0]
 @b = global i32 1
 define void @test()
{
 %test1 = alloca i32
 store i32 3, i32* %test1
%call0 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.scanf, i32 0, i32 0), i32* %test1)
%test11= load i32 ,i32* %test1
 %cmp = icmp sgt i32 %test11, 2
 br i1 %cmp, label %if0_true, label %if0_false
if0_true:
%test1_val = load i32, i32* %test1
%call2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %test1_val)
 br label %if0_end
if0_false:
%b_val = load i32, i32* @b
%call3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %b_val)
 br label %if0_end
if0_end: ret void
}
define void @main()
{
 %t1 = alloca i32
 store i32 1, i32* %t1
%call4 = call i32 (i8*, ...) @scanf(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.scanf, i32 0, i32 0), i32* %t1)
%t1_val = load i32, i32* %t1
%call5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %t1_val)
 call void @test()
 ret void
}
